﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AWA.VAT.DbAccess.SQL
{
    public abstract class SQLDataConnector
    {
        private AWA_VATEntities _entity;
        public SQLDataConnector(AWA_VATEntities entity)
        {
            this._entity = entity;
        }

        // supports email sending, etc.
        public IEnumerable<Attendance> GetAttendees(Int16 year)
        {
            throw new NotImplementedException();
        }

        // At a higher level remove knowledge of EDM and pass in important info

        // functions to track yearly contact, attendance, checkin
        // all four of these functions are redundant, but this functionality must exist
        public abstract void MarkAsSent(Attendance attendance); // true, false

        public abstract void MarkAsResponded(Attendance attendance); // true, false

        public abstract void MarkAttendance(Attendance attendance); // true, false

        public abstract void CheckIn(Attendance attendance); // true, false

        // functions to update address
        // both functions are redundant, but need address update functionality
        public abstract void UpdatePhysicalAddress(Editor editor);

        public abstract void UpdateEmailAddress(Editor editor);

        // functions to input AMV submissions
        public abstract void InputAMV(AMV amv);

        public abstract void InputArtist(Artist artist);

        public abstract void InputSong(Song song);

        public abstract void InputSource(Source source);

        public abstract void InputLocation(AMVs_Locations location);

        public abstract void InputEntry(Entry entry);
    }
}
